home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / perl / varargs.ph < prev    next >
Encoding:
Text File  |  1991-08-12  |  783 b   |  26 lines

  1. if (!defined &_VARARGS) {
  2.     eval 'sub _VARARGS {1;}';
  3.     if (!defined &_VA_LIST) {
  4.     eval 'sub _VA_LIST {1;}';
  5.     }
  6.     eval 'sub va_alist { &__builtin_va_alist;}';
  7.     eval 'sub va_dcl {\'int\'  &__builtin_va_alist;;}';
  8.     eval 'sub va_start {
  9.         local($AP) = @_;
  10.         eval "( &__builtin_saveregs(), ($AP) = (\'char\' *)& &__builtin_va_alist)";
  11.     }';
  12.     eval 'sub __va_rounded_size {
  13.         local($TYPE) = @_;
  14.         eval "((($sizeof{$TYPE} + $sizeof{\'int\'} - 1) / $sizeof{\'int\'}) * $sizeof{\'int\'})";
  15.     }';
  16.     eval 'sub va_arg {
  17.         local($AP, $TYPE) = @_;
  18.         eval "(($AP) +=  &__va_rounded_size ($TYPE), *(($TYPE *) (($AP) -  &__va_rounded_size ($TYPE))))";
  19.     }';
  20.     eval 'sub va_end {
  21.         local($list) = @_;
  22.         eval "";
  23.     }';
  24. }
  25. 1;
  26.